View Issue Details

IDProjectCategoryView StatusLast Update
0001412K18X001.00 SKB SWANSW Issuepublic2025-07-17 17:04
Reporter(ALTech) Wooshin Kang Assigned To(ALTech) Wooshin Kang Due Date2021-12-24 15:19
PriorityurgentSeveritys4-minorReproducibilitysometimes
Status closedResolutionfixed 
Summary0001412: dlopen fail issue. (libcronet)
DescriptionWe have some box got from field. These boxes can't display home ui.
Cause for this is that libcronet.85.0.4183.127.so can't be loaded.
I saw same issue in acceptance test and now i have 2 box more.
We have to find method to avoid it.

12-17 11:19:17.420 1719 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:17.847 1719 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:20.650 2563 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:21.082 2563 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:25.759 3090 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:25.921 3090 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:28.848 3362 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:28.906 3362 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:29.769 3455 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:29.935 3455 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:41.380 4169 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:41.457 4169 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:41.946 4226 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:19:42.035 4226 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:20:18.694 4527 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:20:18.747 4527 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:20:19.148 4570 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:20:19.206 4570 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:20:25.931 4777 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:20:25.977 4777 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:20:26.265 4819 - E AndroidRuntime java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
12-17 11:20:26.316 4819 - E TvRecommendations java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)
Steps To ReproduceI don't know.
TagsNo tags attached.
Attach Tags

Users monitoring this issue

User List (ALTech) Sangmin Choi

Activities

(ALTech) Wooshin Kang

2021-12-17 14:27

developer  

logcat.log (3,998,896 bytes)

(SW) River Wong

2021-12-17 16:13

developer   ~0008943

Hi Wooshin,

Could you provide the error file in /data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so ?
And do you have any steps to reproduce it? (For example, how to do you do acceptance test?)

(ALTech) Wooshin Kang

2021-12-17 17:05

developer   ~0008946

Hi River,
We got this box from field, we don't know what happened on this box in the field.
we have no any information.

(SW) River Wong

2021-12-20 10:48

developer   ~0008957

Hi Wooshin,

From the log, I think that com.skb.tv is killed because of tvrecommendations dying and tvrecommendations dying is because of libcronet.85.0.4183.127.so. You can see the following log:

tvrecommendations crashes because of libcronet.85.0.4183.127.so (I just list one of them):
12-17 11:19:17.847 1719 1719 E TvRecommendations: Killing the app because of an uncaught exception
12-17 11:19:17.847 1719 1719 E TvRecommendations: java.lang.UnsatisfiedLinkError: dlopen failed: empty/missing DT_HASH/DT_GNU_HASH in "/data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/libcronet.85.0.4183.127.so" (new hash type from the future?)

com.skb.tv is killed because of dying proc of tvrecommendations:
12-17 11:19:30.123 780 2300 I ActivityManager: Killing 1744:com.skb.tv/1000 (adj 0): depends on provider com.google.android.tvrecommendations/.NotificationContentProvider in dying proc com.google.android.tvrecommendations (adj 0)
12-17 11:20:19.302 780 4569 I ActivityManager: Killing 3672:com.skb.tv/1000 (adj 0): depends on provider com.google.android.tvrecommendations/.NotificationContentProvider in dying proc com.google.android.tvrecommendations (adj 0)
12-17 11:20:26.414 780 1095 I ActivityManager: Killing 4618:com.skb.tv/1000 (adj 0): depends on provider com.google.android.tvrecommendations/.NotificationContentProvider in dying proc com.google.android.tvrecommendations (adj 0)

So, I need your help to get some information to us (I think you can upgrade the fail box with v531.20 BMT SD image with keep_data to keep the fail status.):
1. libcronet.85.0.4183.127.so in /data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/
2. Version of tvrecommendations apk and gms apk and setupwizard status, you can use the following commands to get it:
adb root
adb shell
dumpsys package com.google.android.gms | grep versionName
dumpsys package com.google.android.tvrecommendations | grep versionName
settings get secure user_setup_complete
settings get global device_provisioned
3. Please also try to use the command to run android setting "am start -a android.settings.SETTINGS" in adb shell. Check if android setting can run without problem.

(ALTech) Wooshin Kang

2021-12-20 11:55

developer   ~0008958

Hi River,

I can do your requirement at tomorrow.

Thanks.

(ALTech) Wooshin Kang

2021-12-21 17:12

developer   ~0008966

BY River.
1.log about current status.
2.Do this box already login with Google account?(You can check it on Android setting)
3.What is current version of com.google.android.gms (In Android setting, you can find "Google Player services" in Android app)?
4.What is current version of com.android.tvrecommendations?(In Android settings, you can find "Android TV Core Services" in app list)
5.What is the current version of com.google.android.apps.mediashell?(In Android settings, you can find "Chromecast built-in" in app list)

(ALTech) Wooshin Kang

2021-12-21 17:29

developer  

dlopen.log (1,788,085 bytes)

(ALTech) Wooshin Kang

2021-12-21 17:29

developer   ~0008967

1. log attached
2. No login
3. 21.48.15
4. There are 2 same name packages.
     versionName=3.4.1-408797323-f
    versionName=2.3.0-338690083-f
5. There are 2 same name packages.
   versionName=1.56.275391
    versionName=1.50.228700

(ALTech) Wooshin Kang

2021-12-21 17:48

developer   ~0008969

3.
 versionName=21.48.15 (080306-414534850)
 versionName=20.42.17 (080306-342117392)

(ALTech) Wooshin Kang

2021-12-21 18:25

developer   ~0008971

Hi River,

Following are summary list by call.
1. This issue did disappear due to update each package .
2. I will check with UI company if they have any solution for this case.

Thanks.

(SW) River Wong

2021-12-21 18:49

developer   ~0008972

Hi Wooshin,

Thanks.
I list the version of gms,tvrecommendations and mediashell of v531.20 BMT image:
dumpsys package com.google.android.gms | grep versionName
    versionName=20.42.17 (080306-342117392)
dumpsys package com.google.android.tvrecommendations | grep versionName
    versionName=2.3.0-338690083-f
dumpsys package com.google.android.apps.mediashell | grep versionName
    versionName=1.50.228700

From your information, these apps are upgraded so you see two different versions (one is prebuilt version as I list here and one is upgraded app version).
Since libcronet.85.0.4183.127.so is generated by gms(20.42.17 (080306-342117392). If gms is upgraded, the libcronet.xxx.so will be update to new one (You can check there may be a new libcronet.xxx.so in /data/user_de/0/com.google.android.gms/app_chimera/ folder) .
I think this is why you see the Home UI is recovered.

(ALTech) Wooshin Kang

2021-12-22 10:10

developer   ~0008983

Hi River,

I have discussed with UI engineer and they told me that they don't know how to avoid it.
So, firstly we have to check your factory production process to avoid it.
Second, we may report it to google to get solution.
Third, I will discuss more with ui engineer.

Thanks.

(SW) River Wong

2021-12-22 15:58

developer   ~0009024

Hi Wooshin,

Do you know if this box ever used by user or not? (For example, user already login SKB UI and issue happens after few day usage in user's home.)
If it happens after user's usage, it can not be avoided in factory process.

(ALTech) Wooshin Kang

2021-12-23 07:50

developer   ~0009029

Hi River,

We can see this issue at boxes returned from user's home and acceptance inspection of SKB.
Boxes from acceptance inspection was never used by user.

Thanks.

(SW) River Wong

2021-12-23 10:22

developer   ~0009035

Hi Wooshin,

Thanks for your information. We need some information and could you please answer my following questions:
Do "acceptance inspection" will login SKB UI account to see if main UI works or not?
Do "acceptance inspection" will do any factory reset or firmware upgrade with wipe data?

(ALTech) Wooshin Kang

2021-12-24 07:40

developer   ~0009092

Hi River,

Do "acceptance inspection" will login SKB UI account to see if main UI works or not?
-> Yes, he is doing login for checking ui operation.
Do "acceptance inspection" will do any factory reset or firmware upgrade with wipe data?
-> "Factory reset" is doing, if version is different with OTA server, it will be upgraded but data will be not wiped.

And I know that all box is no going for acceptance inspection, randomly picked box only is going for that.

(SW) River Wong

2021-12-24 10:21

developer   ~0009105

Hi Wooshin,

Thanks your information. Because "acceptance inspection" will login SKB UI, I think they will do SKB factory reset on every "acceptance inspcetion" SWAN to make it back to default status.

[Root Cause Analysis:]
Regarding this issue, the root cause is related to why the libcronet.85.0.4183.127.so is incorrect.
We guess it is caused by power off while libcronet.85.0.4183.127.so is generating.

There are two possible cases to generating libcronet.so of gms:
1. Doing OTA with wipe data or android factory reset(include SKB factory reset). This action will clear all apps data files.
    Then at next time system booting, android package manager will regenerate(extract) all apps data files, for example share lib. In this case, libcronet.85.0.4183.127.so in google gms app.
2. Google gms app is doing upgrading, it will generate new libcronet.so for new version of gms.
    Since the error log is libcronet.85.0.4183.127.so (used by gms verion 20.42.17 in image v531.20), it should not be this case for this log. Otherwise, the version of libcrontet.so will be newer.

So, for your log, it should be case 1, SWAN is booting after OTA with wipe data or after android factory reset(include SKB factory reset).

[To prevent it in advance]
We found the libcronet.85.0.4183.127.so will be generating while "Android" animation is just end and before SetupWizard shows if any android data wipe is performed in previous boot.
So, to avoid this problem, we think power off should be done lately(for example, 1 minute) after SetupWizard UI shows if any android data wipe is performed in previous boot.
We will check the process in our factory to add this waiting time (at least 1 minute) while power off if any android wipe data is performed. (Because we do not know the minimum time needs to be delay to ensure file is flush to flash, so we give it 1 minute to flush the file. And we think it should be long enough.)

But because "acceptance inspection" will also do SKB factory reset, you need also to notify SKB to add some delay in doing power off after factory reset is performed.

PS: I try to do repeatedly power off while the the libcronet.85.0.4183.127.so is generating. But after 20 times test, I still can not make the file damaged. So, I think it is not easy to reproduce this issue.

(ALTech) Wooshin Kang

2021-12-24 12:51

developer   ~0009110

Hi River,

Actually, i don't know why this issue happen yet even though power off during file copy. If power off during copying process, file is not exist after reboot. This is normal case in OS system. I wonder if it is normal in android system. Anyway, I will discuss with owner of acception inspection about it because finding root cause of it is difficult. Thanks.

(SW) River Wong

2022-01-07 10:00

developer   ~0009296

Hi Wooshin,

I guess the libcronet.85.0.4183.127.so exists but file content is incorrect. (For example, file is generating and power is off. So, some data is not written to file.)
So far, we can do is to prevent immediately power off after factory reset to default.
I recommend to monitor this issue. In the feature, if there is the same issue box, please get the libcronet.85.0.4183.127.so to us to analyze it.

(ALTech) Wooshin Kang

2022-01-07 10:37

developer   ~0009299

Actually,

We have done 50 times test that power off immediately after factory reset to default.
But i can't see this issue.
We have to check that previous our analysis(reboot without wait) is right analysis.
Thanks.

(SW) River Wong

2022-01-10 09:43

developer   ~0009308

Hi Wooshin,

I also try 30 times to reproduce it by power off but I also can not reproduce it. I think the timing is important since the file is small.
That's why I need a fail box from field that you can get the libcronet.85.0.4183.127.so to us for analysis.

(ALTech) Wooshin Kang

2022-01-21 15:59

developer   ~0009361

Hi River,

ALT got 1 box from field.
If get it i will extract libcronet.85.0.4183.127.so in the box and send to you.

Thanks.

(SW) River Wong

2022-01-21 18:43

developer   ~0009362

Hi Wooshin,

I got it, Please note: Not to connect to internet to avoid gms apk being upgraded.

(ALTech) Wooshin Kang

2022-01-25 17:21

developer   ~0009371

Hi River,

I got this file from /data/user_de/0/com.google.android.gms/app_chimera/m/00000001/n/armeabi-v7a/.
Thanks.

(ALTech) Wooshin Kang

2022-01-25 17:21

developer  

libcronet.85.0.4183.127.so (2,914,736 bytes)

(SW) River Wong

2022-01-26 18:10

developer   ~0009381

Hi Wooshin,

I compared the bad so file with good one.
In bad file, offset 0x206000~0x2C6FFF are all zero.
But it is strange that the data after 0x2C7000 to end of file is correct.
I will need more time to debug if power off can make this happen.

(SW) River Wong

2022-02-23 11:02

developer   ~0009493

Hi Wooshin,

I check the write system call, It looks like the libcronet.85.0.4183.127.so is created by writing from 1st bytes to end of file.
So, I'm still think how the bad file is created.
But could you provide the the total numbers of this fail case from field? Is it increasing largely or just few cases?
If possible, please provide more bad libcronet.85.0.4183.127.so for getting more information.

(ALTech) Wooshin Kang

2022-02-24 08:54

developer   ~0009495

I will share files if i will get same issued sample.

Issue History

Date Modified Username Field Change
2021-12-17 14:27 (ALTech) Wooshin Kang New Issue
2021-12-17 14:27 (ALTech) Wooshin Kang Status new => assigned
2021-12-17 14:27 (ALTech) Wooshin Kang Assigned To => (SW) River Wong
2021-12-17 14:27 (ALTech) Wooshin Kang File Added: logcat.log
2021-12-17 16:13 (SW) River Wong Note Added: 0008943
2021-12-17 17:05 (ALTech) Wooshin Kang Note Added: 0008946
2021-12-20 10:48 (SW) River Wong Note Added: 0008957
2021-12-20 11:55 (ALTech) Wooshin Kang Note Added: 0008958
2021-12-21 17:12 (ALTech) Wooshin Kang Note Added: 0008966
2021-12-21 17:29 (ALTech) Wooshin Kang File Added: dlopen.log
2021-12-21 17:29 (ALTech) Wooshin Kang Note Added: 0008967
2021-12-21 17:48 (ALTech) Wooshin Kang Note Added: 0008969
2021-12-21 18:25 (ALTech) Wooshin Kang Note Added: 0008971
2021-12-21 18:49 (SW) River Wong Note Added: 0008972
2021-12-22 10:10 (ALTech) Wooshin Kang Note Added: 0008983
2021-12-22 15:58 (SW) River Wong Note Added: 0009024
2021-12-23 07:50 (ALTech) Wooshin Kang Note Added: 0009029
2021-12-23 10:22 (SW) River Wong Note Added: 0009035
2021-12-23 15:33 (ALTech) Sangmin Choi Issue Monitored: (ALTech) Sangmin Choi
2021-12-24 07:40 (ALTech) Wooshin Kang Note Added: 0009092
2021-12-24 10:21 (SW) River Wong Note Added: 0009105
2021-12-24 12:51 (ALTech) Wooshin Kang Note Added: 0009110
2021-12-24 16:44 (SW) River Wong Severity s2-severe => s4-minor
2021-12-24 16:44 (SW) River Wong Description Updated
2022-01-07 10:00 (SW) River Wong Note Added: 0009296
2022-01-07 10:37 (ALTech) Wooshin Kang Note Added: 0009299
2022-01-10 09:43 (SW) River Wong Note Added: 0009308
2022-01-21 15:59 (ALTech) Wooshin Kang Note Added: 0009361
2022-01-21 18:43 (SW) River Wong Note Added: 0009362
2022-01-25 17:21 (ALTech) Wooshin Kang Note Added: 0009371
2022-01-25 17:21 (ALTech) Wooshin Kang File Added: libcronet.85.0.4183.127.so
2022-01-26 18:10 (SW) River Wong Note Added: 0009381
2022-02-23 11:02 (SW) River Wong Note Added: 0009493
2022-02-24 08:54 (ALTech) Wooshin Kang Note Added: 0009495
2022-08-16 10:11 (SW) River Wong Assigned To (SW) River Wong => (ALTech) Wooshin Kang
2025-07-17 17:04 (PM) Sheila Tu Status assigned => closed
2025-07-17 17:04 (PM) Sheila Tu Resolution open => fixed